<?php


namespace App\Polling\Controllers;


use App\Polling\Services\IndexService;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;

class IndexController extends BaseController {
    protected $service;

    public function __construct(Request $request, IndexService $IndexService) {
        parent::__construct($request);
        $this->service = $IndexService;
    }

    function index() {
        $this->service->index();
    }

    /**
     * 查询赛事基本信息
     * 接口URL: http://data43.aistat.cn/competitions/infos
     * 请求类型: get
     * 请求参数: key (必填, String)
     */
    public function getCompetitionsInfos() {

        $this->service->getCompetitionsInfos();
        return successResponse('success');
    }

    /**
     * 查询赛事规则和介绍
     * 接口URL: http://data43.aistat.cn/competitions/introductions
     * 请求类型: get
     * 请求参数: key (必填, String)
     */
    public function getCompetitionsIntroductions() {
        $this->service->getCompetitionsIntroductions();
        return successResponse('success');
    }

    /**
     * 查询赛事分组
     * 接口URL: http://data43.aistat.cn/competitions/groups
     * 请求类型: get
     * 请求参数: key (必填, String), competitionId (可选, Int), season (可选, String)
     */
    public function getCompetitionsGroups() {
        $this->service->getCompetitionsGroups();
        return successResponse('success');
    }

    /**
     * 查询球队基本信息
     * 接口URL: http://data43.aistat.cn/teams/infos
     * 请求类型: get
     * 请求参数: Key (必填, String), competitionId (可选, Int), season (可选, String)
     */
    public function getTeamsInfos() {
        $this->service->getTeamsInfos();
        return successResponse('success');
    }

    /**
     * 查询赛事积分榜
     * 接口URL: http://data43.aistat.cn/competitions/leagueTables
     * 请求类型: get
     * 请求参数: key (必填, String), competitionId (必填, Int), season (可选, String)
     */
    public function getCompetitionsLeagueTables() {
        $this->service->getCompetitionsLeagueTables();
        return successResponse('success');
    }

    /**
     * 查询赛事详细积分榜
     * 接口URL: http://data43.aistat.cn/competitions/detailLeagueTables
     * 请求类型: get
     * 请求参数: key (必填, String), competitionId (必填, Int), season (可选, String)
     */
    public function getCompetitionsDetailLeagueTables() {
        // TODO: Implement logic to call the API and return data
        return successResponse('success');
    }

    /**
     * 查询球员基本信息
     * 接口URL: http://data43.aistat.cn/players/infos
     * 请求类型: get
     * 请求参数: key (必填, String), competitionId (可选, Int), teamId (可选, Int), playerIds (可选, String), day (可选, Int)
     */
    public function getPlayersInfos() {
        $this->service->getPlayersInfos();
        return successResponse('success');
    }

    /**
     * 查询球员伤停信息
     * 接口URL: http://data43.aistat.cn/players/suspensions
     * 请求类型: get
     * 请求参数: key (必填, String), competitionId (可选, Int), teamId (可选, Int)
     */
    public function getPlayersSuspensions() {
        $this->service->getPlayersSuspensions();
        return successResponse('success');
    }

    /**
     * 查询转会信息
     * 接口URL: http://data43.aistat.cn/transfers/queryByDate
     * 请求类型: get
     * 请求参数: key (必填, String), beginDate (必填, String), endDate (必填, String)
     */
    public function getTransfersByDate() {
        $this->service->getTransfersByDate();
        return successResponse('success');
    }

    /**
     * 查询国家信息
     * 接口URL: http://data43.aistat.cn/countries/infos
     * 请求类型: get
     * 请求参数: key (必填, String)
     */
    public function getCountriesInfos() {
        $this->service->getCountriesInfos();
        return successResponse('success');
    }

    /**
     * 查询赛事赛程
     * 接口URL: http://data43.aistat.cn/competitions/fixture
     * 请求类型: get
     * 请求参数: key (必填, String), competitionId (必填, Int), season (必填, String), isFinish (可选, int)
     */
    public function getCompetitionsFixture() {
        $this->service->getCompetitionsFixture();
        return successResponse('success');
    }

    /**
     * 根据日期查询赛事赛程
     * 接口URL: http://data43.aistat.cn/competitions/queryFixtureByDate
     * 请求类型: get
     * 请求参数: Key (必填, String), beginDate (必填, String), endDate (必填, String)
     */
    public function getCompetitionsFixtureByDate() {
        $this->service->getCompetitionsFixtureByDate();
        return successResponse('success');
    }

    /**
     * 查询赛程变更日志
     * 接口URL: http://data43.aistat.cn/matchs/modifyLogs
     * 请求类型: get
     * 请求参数: key (必填, String)
     */
    public function getMatchsModifyLogs() {
        $this->service->getMatchsModifyLogs();
        return successResponse('success');
    }

    /**
     * 查询比赛预测首发阵容
     * 接口URL: http://data43.aistat.cn/matchs/previewStarters
     * 请求类型: get
     * 请求参数: key (必填, String), matchId (可选, String), matchIds (可选, String)
     */
    public function getMatchsPreviewStarters() {
        $this->service->getMatchsPreviewStarters();
        return successResponse('success');
    }

    /**
     * 查询实时比分数据
     * 接口URL: http://data43.aistat.cn/matchs/liveScores
     * 请求类型: get
     * 请求参数: key (必填, String)
     */
    public function getMatchsLiveScores() {
        $this->service->getMatchsLiveScores();
        return successResponse('success');
    }

    /**
     * 查询实时比赛进程
     * 接口URL: http://data43.aistat.cn/matchs/liveTimelines
     * 请求类型: get
     * 请求参数: key (必填, String), matchId (可选, String)
     */
    public function getMatchsLiveTimelines() {
        $this->service->getMatchsLiveTimelines();
        return successResponse('success');
    }

    /**
     * 查询实时球员数据（简单）
     * 接口URL: http://data43.aistat.cn/matchs/liveSimplePlayerStats
     * 请求类型: get
     * 请求参数: key (必填, String), matchId (可选, String)
     */
    public function getMatchsLiveSimplePlayerStats() {
        $this->service->getMatchsLiveSimplePlayerStats();
        return successResponse('success');
    }

    /**
     * 查询实时球队数据（简单）
     * 接口URL: http://data43.aistat.cn/matchs/liveSimpleTeamStats
     * 请求类型: get
     * 请求参数: key (必填, String), matchId (可选, String)
     */
    public function getMatchsLiveSimpleTeamStats() {
        $this->service->getMatchsLiveSimpleTeamStats();
        return successResponse('success');
    }

    /**
     * 查询实时比赛形势
     * 接口URL: http://data43.aistat.cn/matchs/liveTrend
     * 请求类型: get
     * 请求参数: key (必填, String), matchId (可选, String)
     */
    public function getMatchsLiveTrend() {
        $this->service->getMatchsLiveTrend();
        return successResponse('success');
    }

    /**
     * 查询实时竞彩足球赔率
     * 接口URL: http://data36.aistat.cn/lotteries/jczqOdds
     * 请求类型: get
     * 请求参数: key (必填, String), issueNum (可选, String)
     */
    public function getLotteriesJczqOdds() {
        $this->service->getLotteriesJczqOdds();
        return successResponse('success');
    }

    /**
     * 查询实时北京单场SP值
     * 接口URL: http://data36.aistat.cn/lotteries/bjdcOdds
     * 请求类型: get
     * 请求参数: key (必填, String), issueNum (可选, String)
     */
    public function getLotteriesBjdcOdds() {
        $this->service->getLotteriesBjdcOdds();
        return successResponse('success');
    }

    /**
     * 查询实时北单胜负过关玩法SP值
     * 接口URL: http://data36.aistat.cn/lotteries/bjdcSfggOdds
     * 请求类型: get
     * 请求参数: key (必填, String), issueNum (可选, String)
     */
    public function getLotteriesBjdcSfggOdds() {
        $this->service->getLotteriesBjdcSfggOdds();
        return successResponse('success');
    }

    /**
     * 查询竞彩足球开奖结果（最近24小时/指定查询条件）
     * 接口URL: http://data36.aistat.cn/lotteries/jczqResults
     * 请求类型: get
     * 请求参数: key (必填, String), issueNum (可选, String)
     */
    public function getLotteriesJczqResults() {
        // TODO: Implement logic to call the API and return data
        return successResponse('success');
    }

    /**
     * 查询北京单场开奖结果（最近24小时/指定查询条件）
     * 接口URL: http://data36.aistat.cn/lotteries/bjdcResults
     * 请求类型: get
     * 请求参数: key (必填, String), issueNum (可选, String)
     */
    public function getLotteriesBjdcResults() {
        // TODO: Implement logic to call the API and return data
        return successResponse('success');
    }

    /**
     * 查询北京单场胜负过关开奖结果（最近24小时/指定查询条件）
     * 接口URL: http://data36.aistat.cn/lotteries/bjdcSfggResults
     * 请求类型: get
     * 请求参数: key (必填, String), issueNum (可选, String)
     */
    public function getLotteriesBjdcSfggResults() {
        // TODO: Implement logic to call the API and return data
        return successResponse('success');
    }

    /**
     * 查询传统足彩赛程和开奖信息
     * 接口URL: http://data36.aistat.cn/lotteries/ctzc
     * 请求类型: get
     * 请求参数: key (必填, String), issueNum (可选, String)
     */
    public function getLotteriesCtzc() {
        // TODO: Implement logic to call the API and return data
        return successResponse('success');
    }

    /**
     * 查询指数公司基本信息
     * 接口URL: http://data61.aistat.cn/companies/infos
     * 请求类型: get
     * 请求参数: key (必填, String)
     */
    public function getCompaniesInfos() {
        $this->service->getCompaniesInfos();
        return successResponse('success');
    }

    /**
     * 查询赛前盘指数（全量）
     * 接口URL: http://data61.aistat.cn/zhishu/v1/mainOdds
     * 请求类型: get
     * 请求参数: key (必填, String), date (必填, String)
     */
    public function getZhishuMainOdds() {
        $this->service->getZhishuMainOdds();
        return successResponse('success');
    }

    /**
     * 查询赛前盘指数（30秒内变盘）
     * 接口URL: http://data61.aistat.cn/zhishu/v1/mainOddsChange
     * 请求类型: get
     * 请求参数: key (必填, String)
     */
    public function getZhishuMainOddsChange() {
        // TODO: Implement logic to call the API and return data
        return successResponse('success');
    }

    /**
     * 查询其它类型赔率
     * 接口URL: http://data61.aistat.cn/zhishu/v1/otherOdds
     * 请求类型: get
     * 请求参数: key (必填, String), date (必填, String), type (必填, String)
     */
    public function getZhishuOtherOdds() {
        $this->service->getZhishuOtherOdds();
        return successResponse('success');
    }

    /**
     * 查询其它类型赔率（30秒内变盘）
     * 接口URL: http://data61.aistat.cn/zhishu/v1/otherOddsChange
     * 请求类型: get
     * 请求参数: key (必填, String), type (必填, String)
     */
    public function getZhishuOtherOddsChange() {
        // TODO: Implement logic to call the API and return data
        return successResponse('success');
    }

    /**
     * 查询球员赛季数据
     * 接口URL: http://data43.aistat.cn/players/stats
     * 请求类型: get
     * 请求参数: key (必填, String), playerId (可选, Int), teamId (可选, Int), isCurSeason (必填, Int)
     */
    public function getPlayersStats() {
        $this->service->getPlayersStats();
        return successResponse('success');
    }

    /**
     * 根据赛事查询球员赛季数据
     * 接口URL: http://data43.aistat.cn/players/getStatsByCompetition
     * 请求类型: get
     * 请求参数: key (必填, String), competitionId (必填, Int), season (必填, String)
     */
    public function getPlayersStatsByCompetition() {
        // TODO: Implement logic to call the API and return data
        return successResponse('success');
    }

    /**
     * 查询球队赛季数据
     * 接口URL: http://data43.aistat.cn/teams/stats
     * 请求类型: get
     * 请求参数: key (必填, String), teamId (必填, Int), isCurSeason (必填, Int)
     */
    public function getTeamsStats() {
        // TODO: Implement logic to call the API and return data
        return successResponse('success');
    }

    /**
     * 根据赛事查询球队赛季数据
     * 接口URL: http://data43.aistat.cn/teams/getStatsByCompetition
     * 请求类型: get
     * 请求参数: key (必填, String), competitionId (必填, Int), season (必填, String)
     */
    public function getTeamsStatsByCompetition() {
        // TODO: Implement logic to call the API and return data
        return successResponse('success');
    }

    /**
     * 查询历史主盘口指数
     * 接口URL: http://data61.aistat.cn/zhishu/v1/mainOddsHistory
     * 请求类型: get
     * 请求参数: key (必填, String), date (可选, String), matchIds (可选, String)
     */
    public function getZhishuMainOddsHistory() {
        // TODO: Implement logic to call the API and return data
        return successResponse('success');
    }
}
